Cloud computing is characterized by on-demand infrastructure that can be programmatically provisioned and de-provisioned by its users. It has enabled substantial efficiencies in the cost of infrastructure by allowing organizations to provision only what they need for the period of time in which they need it. This has, however, resulted in both an increased complexity and a more rapid pace of change within infrastructure that has necessitated more active management to maintain desired states of cost, security, performance and availability.
In order to maintain a desired state for infrastructure, it is necessary to constantly monitor the current state of infrastructure and regularly tune it to stay within desired operating conditions. Several challenges prevent such a system from existing, including the need for a system in which a user can: define a policy for maintaining a desired state, monitor the cloud environment for any deviation from the desired state, determine the optimum changes to bring an environment back to the desired state, execute user-defined workflow (required to gain approval within an organization for making a change) to achieve the desired state, and acquiring the necessary secure credentials for an automated system to perform the approved change.
Thus, there is a need for systems and methods that can achieve an automated and policy-driven approach to optimize a cloud environment through the use of delegated actions.